package com.xiaotou.domain;

import com.xiaotou.domain.impl.InformantImpl;
import com.xiaotou.domain.impl.PartnerImpl;
import com.xiaotou.domain.impl.PoliceImpl;
import com.xiaotou.domain.impl.PreyImpl;
import com.xiaotou.domain.impl.ThiefImpl;
import com.xiaotou.weibo.WeiboUser;

public class EngineFactory {

	public static Prey createPrey(Engine engine, WeiboUser weiboUser,
			RuleParam ruleParam) {
		final PreyImpl preyImpl = new PreyImpl(weiboUser);
		preyImpl.setRuleParam(ruleParam);
		preyImpl.setEngine(engine);
		return preyImpl;
	}

	public static Partner createPartner(Engine engine, WeiboUser weiboUser,
			RuleParam ruleParam) {
		final PartnerImpl partnerImpl = new PartnerImpl(weiboUser);
		partnerImpl.setEngine(engine);
		return partnerImpl;
	}

	public static Police createPolice(Engine engine, WeiboUser weiboUser,
			RuleParam ruleParam) {
		final PoliceImpl policeImpl = new PoliceImpl(weiboUser);
		policeImpl.setEngine(engine);
		return policeImpl;
	}

	public static Informant createInformant(Engine engine, WeiboUser weiboUser,
			RuleParam ruleParam) {
		final InformantImpl informantImpl = new InformantImpl(weiboUser);
		informantImpl.setEngine(engine);
		return informantImpl;
	}

	public static Thief createThief(Engine engine, WeiboUser weiboUser,
			RuleParam ruleParam) {
		final ThiefImpl thiefImpl = new ThiefImpl(weiboUser);
		thiefImpl.setEngine(engine);
		return thiefImpl;
	}
}
